package com.daJiao.service;

import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.daJiao.domain.PageParam;
import com.daJiao.domain.SecurityUserDetails;
import com.daJiao.entity.SysMenu;

import java.util.List;

/**
 * <p>Title:      SysMenuService. </p>
 * <p>Description 菜单service </p>
 * <p>Copyright: Copyright (c) 2016</p>
 * <p>Company:    医百科技 </p>
 *
 * @author <a href="yangwensheng@100doc.com.cn"/>杨文生</a>
 * @since 2021 /12/16 14:50
 */
public interface SysMenuService extends IService<SysMenu> {

    int saveMenu(SysMenu menu, SecurityUserDetails securityUser);

    int updateMenuInfo(SysMenu menu);

    int delete(Long id, SecurityUserDetails securityUser);

    Page<SysMenu> listPage(PageParam<SysMenu> pageParam);

    List<Tree<Long>> getMenuTree(Long menuId);

    List<SysMenu> getOwnMenus(Long userId);

    List<Tree<Long>> getOwnTree(Long userId);
}